package com.dhecp.project.base.service;

import java.util.List;
import java.util.Map;

import com.dhecp.common.core.domain.AjaxResult;
import com.dhecp.project.base.domain.OperateLevelInfo;

/**
 * 运营职级管理 服务层接口
 * @author DH-Xxj
 * @version 2022年6月21日
 */
public interface OperateLevelInfoService {

	/**
	 * 通过运营职级编码【guid】查询
	 * @param guid 必要参数：运营职级行唯一值
	 * @return OperateLevelInfo - 实体
	 * @throws Exception
	 * @author DH-Xxj
	 */
	OperateLevelInfo queryOperateLevelInfoByGuid(Map<String, Object> params) throws Exception;

	/**
	 * 通过运营职级编码【vId】查询
	 * @param vId 必要参数：运营职级编码
	 * @return OperateLevelInfo - 实体
	 * @throws Exception
	 * @author DH-Xxj
	 */
	OperateLevelInfo queryOperateLevelInfoByVId(Map<String, Object> params) throws Exception;
	
	/**
	 * 按条件查询
	 * @param params
	 * @param nowherestr 若存在（任意值），表示不进行条件过滤
	 * @param nodatascode 若存在（任意值），表示不进行数据权限控制
	 * @return List-OperateLevelInfo
	 * @throws Exception
	 * @author DH-Xxj
	 */
	List<OperateLevelInfo> queryOperateLevelInfoList(Map<String, Object> params) throws Exception;

	/**
	 * 按条件查询生效数据
	 * @param params
	 * @param nowherestr 若存在（任意值），表示不进行条件过滤
	 * @param nodatascode 若存在（任意值），表示不进行数据权限控制
	 * @return List-OperateLevelInfo
	 * @throws Exception
	 * @author DH-Xxj
	 */
	List<OperateLevelInfo> queryEnableList(Map<String, Object> params) throws Exception;

	/**
	 * 新增
	 * @param infoItems 对应实体类的json格式字符串
	 * @return AjaxResult
	 * @author DH-Xxj
	 */
	AjaxResult insertOperateLevelInfo(Map<String, Object> params);

	/**
	 * 删除
	 * @param infoItems 对应实体类的json格式字符串（必要字段[guid]）
	 * @return AjaxResult
	 * @author DH-Xxj
	 */
	AjaxResult deleteOperateLevelInfo(Map<String, Object> params);

	/**
	 * 修改禁用标志（逻辑删除）
	 * @param infoItems 对应实体类的json格式字符串（必要字段[guid]，[bDeleted]）
	 * @return AjaxResult
	 * @author DH-Xxj
	 */
	AjaxResult updateOperateLevelInfoBDeleted(Map<String, Object> params);

	/**
	 * 修改信息
	 * @param infoItems 对应实体类的json格式字符串（必要字段[guid]）
	 * @return AjaxResult
	 * @author DH-Xxj
	 */
	AjaxResult updateOperateLevelInfo(Map<String, Object> params);

}